Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে List Items (বুলেট পয়েন্ট বা নাম্বারিং সহ) তৈরি করতে পারেন এবং তাদের জন্য কাস্টম স্টাইলিং করতে পারেন। এখানে আমরা দেখবো কিভাবে List Items তৈরি এবং তাদের স্টাইলিং করা যায়, যেমন বুলেট পয়েন্ট, নাম্বারিং, ইন্ডেন্টেশন, এবং ফন্ট স্টাইল কাস্টমাইজ করা।
প্রথমে একটি Word ডকুমেন্টে বুলেট পয়েন্ট বা নাম্বারড তালিকা (ordered/unordered list) তৈরি করতে হবে। এর জন্য XWPFParagraph ক্লাস এবং XWPFRun ব্যবহার করা হবে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class ListItemExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// বুলেট পয়েন্ট তালিকা তৈরি
XWPFParagraph bulletList = document.createParagraph();
bulletList.setNumID(BigInteger.valueOf(1)); // বুলেট পয়েন্ট নাম্বার
XWPFRun run1 = bulletList.createRun();
run1.setText("প্রথম বুলেট পয়েন্ট");
// দ্বিতীয় বুলেট পয়েন্ট
XWPFParagraph bulletList2 = document.createParagraph();
bulletList2.setNumID(BigInteger.valueOf(1));
XWPFRun run2 = bulletList2.createRun();
run2.setText("দ্বিতীয় বুলেট পয়েন্ট");
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("BulletList.docx");
document.write(out);
out.close();
System.out.println("বুলেট পয়েন্ট তালিকা তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে, setNumID() মেথডের মাধ্যমে তালিকায় বুলেট পয়েন্ট যোগ করা হয়েছে। BigInteger.valueOf(1)
দ্বারা আমরা বুলেট পয়েন্টের জন্য নাম্বার সেট করেছি।
নাম্বারড তালিকা তৈরি করতে setNumID() মেথডের মাধ্যমে নাম্বারিং নির্ধারণ করা যায়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigInteger;
public class NumberedListExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// নাম্বারড তালিকা তৈরি
XWPFParagraph numberList = document.createParagraph();
numberList.setNumID(BigInteger.valueOf(2)); // নাম্বারড তালিকা নাম্বার
XWPFRun run1 = numberList.createRun();
run1.setText("প্রথম নাম্বারড পয়েন্ট");
// দ্বিতীয় নাম্বারড পয়েন্ট
XWPFParagraph numberList2 = document.createParagraph();
numberList2.setNumID(BigInteger.valueOf(2));
XWPFRun run2 = numberList2.createRun();
run2.setText("দ্বিতীয় নাম্বারড পয়েন্ট");
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("NumberedList.docx");
document.write(out);
out.close();
System.out.println("নাম্বারড তালিকা তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
এখানে, BigInteger.valueOf(2) ব্যবহার করে নাম্বারড তালিকায় নম্বরিং যোগ করা হয়েছে।
এখন আমরা দেখবো কিভাবে List Items এ কাস্টম স্টাইলিং যেমন ফন্ট স্টাইল, ফন্ট সাইজ, কালার, এবং ইন্ডেন্টেশন যোগ করা যায়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigInteger;
public class CustomStyledList {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// বুলেট পয়েন্ট তালিকা তৈরি
XWPFParagraph bulletList = document.createParagraph();
bulletList.setNumID(BigInteger.valueOf(1)); // বুলেট পয়েন্ট নাম্বার
// প্রথম বুলেট পয়েন্টের কাস্টম স্টাইলিং
XWPFRun run1 = bulletList.createRun();
run1.setText("কাস্টম স্টাইল সহ বুলেট পয়েন্ট");
run1.setBold(true); // বোল্ড
run1.setFontSize(14); // ফন্ট সাইজ
run1.setFontFamily("Arial"); // ফন্ট
run1.setColor("FF0000"); // কালার (লাল)
// দ্বিতীয় বুলেট পয়েন্টের কাস্টম স্টাইলিং
XWPFParagraph bulletList2 = document.createParagraph();
bulletList2.setNumID(BigInteger.valueOf(1));
XWPFRun run2 = bulletList2.createRun();
run2.setText("দ্বিতীয় কাস্টম স্টাইল সহ বুলেট পয়েন্ট");
run2.setItalic(true); // ইটালিক
run2.setFontSize(12); // ফন্ট সাইজ
// ডকুমেন্ট সংরক্ষণ
FileOutputStream out = new FileOutputStream("StyledBulletList.docx");
document.write(out);
out.close();
System.out.println("কাস্টম স্টাইল সহ বুলেট পয়েন্ট তালিকা তৈরি এবং সংরক্ষণ করা হয়েছে।");
}
}
List Items এ ইন্ডেন্টেশন (indentation) যোগ করা যায় যাতে প্রতিটি আইটেমের মধ্যে স্থান থাকে।
// বুলেট পয়েন্টে বাম দিকের ইন্ডেন্টেশন
bulletList.setIndentationLeft(360); // বাম দিকের 360 পিক্সেল ইন্ডেন্টেশন
// বুলেট পয়েন্টে ডান দিকের ইন্ডেন্টেশন
bulletList.setIndentationRight(360); // ডান দিকের 360 পিক্সেল ইন্ডেন্টেশন
এটি টেবিল বা তালিকা আইটেমগুলোর মধ্যে আরও প্যাডিং বা স্পেস তৈরি করবে।
Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টে List Items তৈরি এবং তাদের কাস্টম স্টাইলিং করতে পারেন। এখানে আমরা দেখলাম কিভাবে বুলেট পয়েন্ট বা নাম্বারড তালিকা তৈরি করা যায় এবং সেগুলোর ফন্ট স্টাইল, কালার, ইন্ডেন্টেশন, এবং লাইনের সাইজ কাস্টমাইজ করা যায়। এটি Word ডকুমেন্টকে আরও সুন্দর এবং পাঠযোগ্য করে তোলে।
common.read_more